package API.Generic.WildcardGeneric.WildCradTest;

import java.util.ArrayList;

public class WildCardTest {
    // 泛型通配符
    public static void onlyDog(ArrayList<? extends Dog> dogs){
    }

    public static void main(String[] args) {
        ArrayList<HuskyDog> huskies =  new ArrayList<>();
        ArrayList<TidyDog> tidies =  new ArrayList<>();
        ArrayList<PersiCat> persiCats =  new ArrayList<>();
        ArrayList<LiHuaCat> liHuaCats =  new ArrayList<>();
        onlyDog(huskies);
        onlyDog(tidies);
        // 报错，因为onlyDog方法指定了仅Dog的子类可以传入
        // onlyDog(persiCats);
        // 还有一种泛型通配符<? super E>，意为仅接收E以及其父类的数据泛型
    }
}
